package com.fuxi.cloud.desreport.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * JimuReportShare
 *
 * @Author: 扫地僧
 * @CreateTime: 2021-05-03
 */

public class JimuReportShare {
    private String id;
    private String reportId;
    private String previewUrl;
    private String previewLock;
    private String status;
    @JsonFormat(
            timezone = "GMT+8",
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date lastUpdateTime;
    private String termOfValidity;

    public JimuReportShare() {
    }

    public String getId() {
        return this.id;
    }

    public String getReportId() {
        return this.reportId;
    }

    public String getPreviewUrl() {
        return this.previewUrl;
    }

    public String getPreviewLock() {
        return this.previewLock;
    }

    public String getStatus() {
        return this.status;
    }

    public Date getLastUpdateTime() {
        return this.lastUpdateTime;
    }

    public String getTermOfValidity() {
        return this.termOfValidity;
    }

    public JimuReportShare setId(String id) {
        this.id = id;
        return this;
    }

    public JimuReportShare setReportId(String reportId) {
        this.reportId = reportId;
        return this;
    }

    public JimuReportShare setPreviewUrl(String previewUrl) {
        this.previewUrl = previewUrl;
        return this;
    }

    public JimuReportShare setPreviewLock(String previewLock) {
        this.previewLock = previewLock;
        return this;
    }

    public JimuReportShare setStatus(String status) {
        this.status = status;
        return this;
    }

    @JsonFormat(
            timezone = "GMT+8",
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    public JimuReportShare setLastUpdateTime(Date lastUpdateTime) {
        this.lastUpdateTime = lastUpdateTime;
        return this;
    }

    public JimuReportShare setTermOfValidity(String termOfValidity) {
        this.termOfValidity = termOfValidity;
        return this;
    }

    @Override
    public String toString() {
        return "JimuReportShare(id=" + this.getId() + ", reportId=" + this.getReportId() + ", previewUrl=" + this.getPreviewUrl() + ", previewLock=" + this.getPreviewLock() + ", status=" + this.getStatus() + ", lastUpdateTime=" + this.getLastUpdateTime() + ", termOfValidity=" + this.getTermOfValidity() + ")";
    }

    @Override
    public boolean equals(Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof JimuReportShare)) {
            return false;
        } else {
            JimuReportShare var2 = (JimuReportShare)o;
            if (!var2.canEqual(this)) {
                return false;
            } else {
                label95: {
                    String var3 = this.getId();
                    String var4 = var2.getId();
                    if (var3 == null) {
                        if (var4 == null) {
                            break label95;
                        }
                    } else if (var3.equals(var4)) {
                        break label95;
                    }

                    return false;
                }

                String var5 = this.getReportId();
                String var6 = var2.getReportId();
                if (var5 == null) {
                    if (var6 != null) {
                        return false;
                    }
                } else if (!var5.equals(var6)) {
                    return false;
                }

                String var7 = this.getPreviewUrl();
                String var8 = var2.getPreviewUrl();
                if (var7 == null) {
                    if (var8 != null) {
                        return false;
                    }
                } else if (!var7.equals(var8)) {
                    return false;
                }

                label74: {
                    String var9 = this.getPreviewLock();
                    String var10 = var2.getPreviewLock();
                    if (var9 == null) {
                        if (var10 == null) {
                            break label74;
                        }
                    } else if (var9.equals(var10)) {
                        break label74;
                    }

                    return false;
                }

                label67: {
                    String var11 = this.getStatus();
                    String var12 = var2.getStatus();
                    if (var11 == null) {
                        if (var12 == null) {
                            break label67;
                        }
                    } else if (var11.equals(var12)) {
                        break label67;
                    }

                    return false;
                }

                Date var13 = this.getLastUpdateTime();
                Date var14 = var2.getLastUpdateTime();
                if (var13 == null) {
                    if (var14 != null) {
                        return false;
                    }
                } else if (!var13.equals(var14)) {
                    return false;
                }

                String var15 = this.getTermOfValidity();
                String var16 = var2.getTermOfValidity();
                if (var15 == null) {
                    if (var16 != null) {
                        return false;
                    }
                } else if (!var15.equals(var16)) {
                    return false;
                }

                return true;
            }
        }
    }

    protected boolean canEqual(Object other) {
        return other instanceof JimuReportShare;
    }

    @Override
    public int hashCode() {
        boolean var1 = true;
        byte var2 = 1;
        String var3 = this.getId();
        int var10 = var2 * 59 + (var3 == null ? 43 : var3.hashCode());
        String var4 = this.getReportId();
        var10 = var10 * 59 + (var4 == null ? 43 : var4.hashCode());
        String var5 = this.getPreviewUrl();
        var10 = var10 * 59 + (var5 == null ? 43 : var5.hashCode());
        String var6 = this.getPreviewLock();
        var10 = var10 * 59 + (var6 == null ? 43 : var6.hashCode());
        String var7 = this.getStatus();
        var10 = var10 * 59 + (var7 == null ? 43 : var7.hashCode());
        Date var8 = this.getLastUpdateTime();
        var10 = var10 * 59 + (var8 == null ? 43 : var8.hashCode());
        String var9 = this.getTermOfValidity();
        var10 = var10 * 59 + (var9 == null ? 43 : var9.hashCode());
        return var10;
    }
}

